package com.ningxun.pagentcrawler.service.policy.impl;

import com.ningxun.pagentcrawler.entity.policy.PolicyItem;
import com.ningxun.pagent.bus.domain.BusPolicyContent;
import com.ningxun.pagentcrawler.service.policy.IPolicyConverterService;
import org.springframework.stereotype.Service;

/**
 * 政策数据转换服务实现类
 * 
 * @author pagent
 * @date 2025-01-XX
 */
@Service
public class PolicyConverterServiceImpl implements IPolicyConverterService {
    
    /**
     * 将PolicyItem转换为BusPolicyContent
     * 
     * @param policyItem 爬取的政策数据
     * @param policyType 政策类型
     * @return 数据库实体对象
     */
    @Override
    public BusPolicyContent convertToBusPolicyContent(PolicyItem policyItem, Long policyType) {
        BusPolicyContent busPolicyContent = new BusPolicyContent();
        
        // 直接使用PolicyItem的title，因为它已经包含了文号
        // UniversalCrawlerEngine中已经将title设置为"标题 + 文号"的格式
        busPolicyContent.setTitle(policyItem.getTitle());
        
        // 设置政策内容
        String content = policyItem.getContent();
        if (content != null && !content.isEmpty()) {
            busPolicyContent.setContent(content);
        } else {
            busPolicyContent.setContent("政策内容：来自河北省政府网站 - " + policyItem.getTitle() + "\n链接：" + policyItem.getUrl());
        }
        
        // 设置政策类型
        busPolicyContent.setPolicyType(policyType);
        
        // 设置创建人信息
        busPolicyContent.setCreatorName("crawler");
        busPolicyContent.setCreatorId(0L);
        
        // 设置审核状态（1-未审核） 已废弃 走工作流
        busPolicyContent.setApproveStatus(1L);
        
        // 设置过期状态（默认正常-0）
        busPolicyContent.setInvalidState(0L);
        
        return busPolicyContent;
    }
    
    /**
     * 构建去重检查标题
     * 
     * @param policyItem 政策数据
     * @return 去重检查标题
     */
    @Override
    public String buildDuplicateCheckTitle(PolicyItem policyItem) {
        // 直接使用PolicyItem的title，因为它已经包含了文号
        // UniversalCrawlerEngine中已经将title设置为"标题 + 文号"的格式
        return policyItem.getTitle();
    }
} 